This invention is directed to the problem of providing a telecommunications link between a host computer and one or more remote terminals. The long-standing problem precluding the efficient use of telecommunication networks for interfacing is the speed limitations on such systems.
In the prior art, communications between a host computer and terminals were conducted on a character-by-character basis with each character or small set of characters being directly communicated by the terminal to the host computer. Examples of simple character string communication protocols include Teletel, ASCII and VT100. In character level commands, the terminal sends characters embedded with formatting commands and receives characters from the host computer.
Recently, more sophisticated communications software has been developed by which simple drawing commands are communicated. Examples of such systems include X Windows and NAPLPS Systems. With the more sophisticated drawing command systems, the terminal sends drawing commands or commands to draw a line, etc. and receives events such as the condition of a mouse or key.
Many advances have been made in user interface technology including the use of windows, scrolling text, highlighting segments of a display screen, creating software buttons on the screen which are activated by a pointer, etc. Computer users have become familiar with such techniques and expect state of the art systems to include sophisticated user interfaces.
The problem with the use of such interface implementations when the terminal must communicate over a network made up of narrow bandwidth voice communication lines, or their equivalent, is the delay involved in the communication between the terminal and the host. This problem has been described as echoplexing. For example, echoplexing would occur when a terminal user using a pointer device, such as a mouse, clicks a mouse down to select an item from a list or to activate a soft button on a screen. After "clicking" the mouse, an appreciable period of time elapses, perhaps several seconds, while the mouse down command travels across the telecommunications network from the terminal to the host and back to the terminal. Only then is the terminal display updated to show the change in the interface when the mouse is clicked. One solution to this problem is to provide a wider bandwidth telecommunications network. However, this solution imposes considerable additional cost for network services.
The worst case scenario for echoplexing is encountered when a mouse is moved across the screen and commands are continuously transmitted to the host computer. As the mouse is moved across the screen, many unnecessary raw events such as mouse clicks in areas of the screen that are not selectable or typing of characters when no text field is active are still communicated to the host computer which unnecessarily burdens network performance.
Another cause of problems with host computers that are interconnected to terminals by a telecommunications network is the need to redundantly transmit information between the host and the terminal. To the extent that redundant transmissions can be eliminated, responsiveness of the network can be improved. Avoiding redundant transmission of information is the simplest way to limit bandwidth requirements, and increase responsiveness of the network. It has been estimated that 50 percent of the information transmitted from a host computer to a conventional terminal is redundant in that all user interface information must be retransmitted for re-display each time the display is called up by the user.
The smaller the sets of data are that are distributed between a host and a terminal, the more bandwidth it requires. For instance, when a host computer sends graphics instructions at a low device or character level, such as a bitmap image of a software button, the computer specifies each pixel's value in the image. This low level of communication is inefficient due to the quantity of data necessary to describe the object on the terminal. Improvements can be made by describing the button in terms of lines, rectangles, and text at a structured graphics level. Communications at the structured graphics level requires less bandwidth than device or character level representations. Transmissions of interfaces by the structured graphics representation results in a more compact description of the interface object.
Another problem encountered when a telecommunications network is used to connect a host computer to its terminals is relatively low efficiency in use of the host computer due to the low density of commands received by the host computer from a given terminal per unit of time. When the host computer receives small amounts of information such as character strings or simple line draw commands, a great deal of time is wasted between commands.
Software compatibility problems are sometimes encountered between a terminal and host computer in applications involving a host computer which provides telecommunications access to data stored in the host to terminals. When software is sold as a separate package for use on an intelligent terminal, there is no assurance that the host computer will be fully compatible with the software on the terminal. This problem is also encountered when host computer software is modified and a user has not installed corresponding revisions at the terminal. Consumers who purchase software that is not fully compatible or who fail to make revisions may not be able to enjoy the benefits from the host computer.
These and other problems and disadvantages are overcome and the above objects are achieved by the present invention as will be more fully described below.